home *** CD-ROM | disk | FTP | other *** search
- Computer Tyme IniTyme * Copyright 1993-94 by Marc Perkel
- All Rights Reserved * Version 2.34 * Release Date: 07-05-94
-
- Computer Tyme * 411 North Sherman, Suite 300 * Springfield Mo. 65802
- (417) 866-1222 Voice * (800) 548-5353 Sales * (417) 866-1665 Fax/BBS
-
- * We're moving! - Starting 1995 - Computer Tyme, Fair Grove Mo. 65648
-
- IniTyme is a Windows *.INI file manipulator. It is designed to assist the
- network administrator who has to maintain INI files for many users.
-
- USAGE: INITYME ChangeFile IniFile
- or MARXMENU INITYME ChangeFile IniFile
-
- Example:
- INITYME CHANGE.INI SYSTEM.INI
-
- In the above example CHANGE.INI is the control file that will control the
- changes that will be written to the target file SYSTEM.INI. The ChangeFile
- is formatted like an INI file. A sample changefile might look like this:
-
- ; CHANGE.INI : A sample changefile for the IniTyme Program.
-
- subst 'C:\WINDOWS\PM4\' 'W:\PM4'
-
- [boot]
- del sound.drv=
-
- del [keyboard]
-
- [386Enh]
- Paging=1
- Device=mydev.386
- foo=bar
- ADD TestMode=3
- CHANGE mydevice=mydriver.386
-
- [fonts]
- subst 'V:\' 'P:\WINDOWS\'
-
- Any line that starts with the semi-colon is a comment and will not be
- processed.
-
- Adding and updating lines is done by listing the new lines as you wish them
- to appear. In the example there is a line in the [386ENH] group that reads
- PAGING=1. If the target INI files does not contain a [386ENH] group it will
- be created. The default mode is - change it if it's there, add it if
- it's not.
-
- If that group does not contain a PAGING=1 line it will be added to the
- group. If a line in the [386ENH] group already exists that sets PAGING=2 it
- will be changed to PAGING=1. The word DEVICE= is a special case if it is
- found in the [386Enh] section and it is automatically added unless the whole
- line matches something that's already there.
-
-
- ADD
- ---
-
- Using the word ADD in front of the line causes the line to be added if it
- isn't already there, but not changed if it is already there.
-
-
- CHANGE
- ------
-
- Using the word CHANGE in front of the line causes the line to be changed if
- it is there, but not added if it isn't there.
-
-
- DEL
- ---
-
- Using the word DEL in front of the line causes a matching line to be deleted
- from the INI file. The DEL command can also be used to remove entire groups
- as illustrated in the example line DEL [KEYBOARD].
-
-
- ADDITEM
- -------
-
- When using commands like Run=Prog1 Prog2 Prog3 you might want to add more
- items to the list. If you change file contains: "AddItem Run=Prog4 Prog5"
- then the result will be "Run=Prog1 Prog2 Prog3 Prog4 Prog5"
-
-
- DELITEM
- -------
-
- Similar to AddItem, DelItem removes items form a list. If your INI file
- contains "Run=Prog1 Prog2 Prog3 Prog4" and your change INI file contains
- "DelItem Run=Prog2 Prog4" then the result will be: "Run=Prog1 Prog3"
-
-
- ADDVALUE
- --------
- If a line is found, AddValue will add (or subtract for negative values)
- the amount of the line in the change file.
-
- Example:
- Original file has: NumValue=9
- Change file has: AddValue NumValue=3
- Result file will have: NumValue=12
-
-
- AFTER
- -----
-
- If you use the command AFTER <line> then the next item that is added or
- changed will be put after the line you specified. If the line you
- specified isn't found then it is added to the end of the section. The
- after command can also be used to move a line from one place to another
- within the same section.
-
- Example:
- After Run=
- Foo=Bar
-
-
- BEFORE
- ------
- Before is just like after except it adds the line before the specified
- line.
-
-
- FIRST
- -----
-
- If you use the word first, then the next item added will be first in the
- section.
-
-
- SUBST
- -----
-
- The SUBST command is used to replace strings within an INI file. It can be
- used in two fashions either globally throughout the file or locally within
- a group. In the above example it is used both ways.
-
- Putting the line SUBST 'C:\WINDOWS\PM4\' 'W:\PM4' before the first group
- header will cause the path string 'C:\WINDOWS\PM4\' to be globally replaced
- throughout the file with 'W:\PM4'. In the last line of the above example the
- SUBST 'V:\' 'P:\WINDOWS\' command will replace only those strings that match
- in the group [fonts].
-
- The SUBST command also supports referrences to environment variables.
- Thus F:\HOME\%USER%\WINDOWS becomes F:\HOME\MARC\WINDOWS.
-
- INITYME also has special provisions for handling the [GROUPS] section on the
- PROGMAN.INI. This section numbers the groups that are referenced. INITYME
- will scan the groups listed and determine the first available group number
- when it is adding to the [GROUPS] group.
-
- To illustrate, if the PROGMAN.INI files group section reads as follows:
-
- [Groups]
- Group1=H:\WINDOWS\MAIN.GRP
- Group2=H:\WINDOWS\ACCESSOR.GRP
- Group4=H:\WINDOWS\STARTUP.GRP
- Group5=H:\WINDOWS\BP7.GRP
- Group6=H:\WINDOWS\ALDUS.GRP
- Group7=F:\HOME\MARC\WINDOWS\WORDFORW.GRP
- Group8=F:\HOME\MARC\WINDOWS\MICROSOF.GRP
- Group3=F:\HOME\MARC\WINDOWS\EDOS.GRP
-
-
- and your ChangeFile contains:
-
- [Groups]
- DEL group=BP7.GRP
- Group=MAIN.GRP
- Group=MYGROUP.GRP
- DEL group=EDOS.GRP
- Group=Z:\SYSTEM\TEST.GRP
- Group=MASTER.GRP
-
- After executing IniTyme your PROGMAN.INI group section would now read:
-
- [Groups]
- Group1=MAIN.GRP
- Group2=H:\WINDOWS\ACCESSOR.GRP
- Group4=H:\WINDOWS\STARTUP.GRP
- Group6=H:\WINDOWS\ALDUS.GRP
- Group7=F:\HOME\MARC\WINDOWS\WORDFORW.GRP
- Group8=F:\HOME\MARC\WINDOWS\MICROSOF.GRP
- Group5=MYGROUP.GRP
- Group3=Z:\SYSTEM\TEST.GRP
- Group9=MASTER.GRP
-
-
- CONDITIONALS
- ------------
-
- IniTyme supports conditional changes. If the condition is met then the
- changes are made. If statements can be nested.
-
- if [condition]
- Device=mydev.386
- foo=bar
- else
- Device=otherdev.386
- foo=notbar
- endif
-
- CONDITIONAL LIBRARY
- -------------------
-
- And
- Returns the logical And of two values.
-
- Example:
- if InGroup 'EveryOne' and InGroup 'Accounting'
-
-
- Or
- Returns the logical Or of two values.
-
- Example:
- if InGroup 'EveryOne' or InGroup 'Accounting'
-
-
- Not
- Returns the logical Not of a value.
-
- Example:
- if Not InGroup 'EveryOne'
-
-
- +
- Adds two values.
-
- Example:
- if 'A' + 'B' = 'AB'
-
-
- -
- Subtracts two values.
-
- Example:
- if 5 - 3 < 4
-
-
- =
- Compares two values and returns true if they are equal.
-
- Example:
- if 2 + 2 = 4
-
-
- <>
- Compares two values and returns true if they are not equal.
-
- Example:
- if 2 + 2 <> 5
-
-
- >
- Compares two values and returns true if the first value is greater than the
- second value.
-
- Example:
- if 'D' > 'C'
-
-
- <
- Compares two values and returns true if the first value is less than the
- second value.
-
- Example:
- if 'C' < 'D'
-
-
- >=
- Compares two values and returns true if the first value is greater than or
- equal to the second value.
-
- Example:
- if 'D' >= 'C'
-
-
- <=
- Compares two values and returns true if the first value is less than or
- equal to the second value.
-
- Example:
- if 'C' <= 'D'
-
-
- ( )
- Parens begin and end logical grouping for interpretation.
-
- Example:
- if ('A' < 'B') and (9 > (5 + 3))
-
-
- ReadEnv (Environment String)
- Returns the value of an environment variable.
-
- Example:
- if ReadEnv 'ENHANCED' = 'Y'
-
-
- ValueOf
- Return the value of an element in the current section.
-
- Example:
- if ValueOf 'PagingDrive' <> 'H'
- PagingDrive=C
- endif
-
-
- UpperCase
- Returns the UpperCase of a string.
-
- Example:
- if UpperCase ReadEnv 'ENHANCED' = 'Y'
-
-
- CPU
- Returns the class of CPU chip you are running.
-
- Example:
- if CPU >= 3
-
-
- MathChip
- Returns true if you have a math coprocessor.
-
- Example:
- if MathChip
-
-
- Display
- Returns the type of video card. Types returned are HERC, CGA, EGA, VGA.
-
- Example:
- if Display = 'VGA'
-
-
-
- InGroup (Group)
- Returns True if user is in the Novell group.
-
- Example:
- if InGroup 'EveryOne'
-
-
- Station
- Returns the workstation address on a Novell network.
-
- Example:
- if Station = '250:33333'
-
-
- UserName:
- Returns the Novell login name of the user.
-
- Example:
- if UserName = 'Marc'
-
-
- BACKUPS
- -------
-
- Whenever INITYME runs it creates a backup of the original file with a *.BNI
- extension. If you decide you don't like the changes you've made you can
- execute a one generation restore with the command:
-
- INITYME RESTORE SYSTEM.INI
-
- This will delete the current SYSTEM.INI file and rename the SYSTEM.BNI file
- to SYSTEM.INI. If a matching BNI file is not present then the restore
- command does not do anything.
-
- If by chance you are in a situtation where murphy has tried to make your day
- really bad and you've screwed up your INI files royally, be sure to remember
- the SALVAGE command from netware. But nothing, not even salvage, is an
- acceptable substitute for a current set of backups. One suggestion might be
- to use PKZIP to ZIP up a set of your pre-modified INI files. This gives you
- the opportunity to play without risk. Nothing beats backups!
-
- IniTyme can be used to update many INI file in bulk by creating a ListFile
- contains a list of INI files. Then simply provide IniTyme with the filename
- of the list file instead of a specific INI file. The syntax of a list file
- should be something like:
-
- \home\phil\windows\system.ini
- \home\marc\windows\system.ini
- ...etc...
-
- You can also pipe a list of files to IniTyme as follows:
-
- WHEREIS SYSTEM.INI|INITYME CHANGE.INI
-
- File name referrences in INITYME can include referrences to environment
- variables. Thus \HOME\%USER%\WINDOWS\SYSTEM.INI is a valid filename if the
- environment variable USER is set.
-
-
- LOGGING CHANGES
- ---------------
-
- If you want to create a log file of the changes that were made to the file
- add the command LOG [FileName] in you CHANGE.INI file, before the first
- section header, and INITYME will log the changes in the FileName you
- specify. If the FileName isn't specified the default name is your INI file
- name with a LOG extension.
-
-
- TEST MODE
- ---------
-
- If you want to test a change file without changing the original INI file
- then add the word TestMode to the CHANGE.INI file before the first section
- header. In test mode the changes are written to the BNI file and the INI
- file is left untouched. You can then look at the BNI file to see the
- changes.
-
-
- NOBACKUP
- --------
- The NoBackup command is used if you don't want to create the BNI backup
- file. This will save disk space, however, you lose the safety of having
- the ability to undo what you just did. The BNI file is actually created
- and then deleted, so if you have Novell's salvage of and UnDelete
- command you can get the BNI file back.
-
-
-
- COMPANION PROGRAMS INIDIF GRPTYME
- ---------------------------------
-
- Included with INITYME is INIDIF.
-
- INIDIF compares two INI files and produces a third file that contains the
- differences between the two INI files. This allows you to install a new
- windows program and compare the changed INI file to the original INI file.
- The change file can then be used with INITYME to apply the same changes to
- other INI files of other users on a network.
-
- USAGE: INIDIF NewFile OldFile ChangeFile
-
- Example:
- INIDIF SYSTEM.INI SYSTEM.OLD SYSTEM.CHG
-
- GrpTyme is a DOS utility to create and modify Microsoft Windows GRP
- files used by Program Manager. It allows network managers to add icons,
- remove icons, or modify icon information inside of Program Manager's
- group files. Network managers can also create new groups from a text
- file that has a format similar to a Windows INI file. On a network,
- GrpTyme can help automate the updating of thousands of GRP files in a
- single process. If you want to add a new program item to the desktop of
- hundreds of network Windows users, it would take a serious amount of
- work. GrpTyme can do in minutes what would normally take days to
- accomplish.
-
- GrpTyme also has the ability to look into existing GRP files and read
- the information into a GNI file. This file is a text file much like an
- INI file, and this file can me manipulated with IniTyme and then
- recompiled into a GRP file. GrpTyme is sold separately.
-
-
- WE WANT YOUR INPUT
- ------------------
-
- If you like this program and you can think of more features that it needs,
- give me a call and I will probably add them.
-
- IniTyme is licensed for $35/User, $95/fileserver.
-
- IniTyme is written in the MarxMenu network system language. IniTyme is
- included free with the Network Survival Kit along with source code allowing
- you to add your own features to the program.